/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pio.action.administrador.instituciones;

import DBMS.DataBaseManager;
import clases.Configuracion;
import clases.Coordinador;
import clases.ReporteCoordinadores;
import clases.ReporteInstituciones;
import clases.ReportePreseleccion;
import clases.TipoReporte;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.io.File;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

/**
 *
 * @author tamerdark
 */
public class GenerarReporte extends DispatchAction {

    public ActionForward page(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        return mapping.findForward("page");
    }

    public ActionForward make(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        DataBaseManager d = DataBaseManager.getInstance();
        ReporteInstituciones reporte = new ReporteInstituciones();
        reporte.setTipo(TipoReporte.INSTITUCION);
        reporte.setNumAutenticacion();
        while (d.existeNumAutenticacion(reporte.getNumAutenticacion())) {
            reporte.setNumAutenticacion();
        }
        d.agregarReporte(reporte);
        reporte.setId(d.buscarID(reporte.getNumAutenticacion()));
        reporte.setInstituciones(d.consultarInstituciones());
        String path = Configuracion.getReportesPath() + reporte.getTipo() + reporte.getId() + ".pdf";
        System.out.println("Intentando crear reporte en " + path);
        File f = new File("nuevo");
        System.out.println("Estoy dentro de " + f.getCanonicalPath());
        System.out.println("Estoy dentro de " + f.getAbsolutePath());
        try {
            reporte.generar(path);
            request.getSession().setAttribute("reporte", path);
            request.setAttribute("reporte", path);
            return mapping.findForward("success");
        } catch (Exception e) {
            reporte.setMensaje("Problemas con el servidor.");
            return mapping.findForward("failure");
        }
    }
}
